﻿using System.Data;
using System.Data.SqlClient;
using BadgeManager.Model;

namespace BadgeManager.Controller
{
    public class ctrlPermesso : Permesso
    {
        private Connector conn;

        public ctrlPermesso()
        {
            conn = Connector.Istance();
        }

        /// <summary>
        /// Registra un nuovo permesso associato all'idutente
        /// </summary>
        /// <param name="utente"></param>
        /// <returns></returns>
        public int CreaPermesso(Utente utente)
        {
            string sql = "";
            sql = "insert into Permessi (@idutente,@lettura,@scrittura,@modifica)";

            SqlCommand insert = new SqlCommand(sql, conn.Connessione);

            SqlParameter id = new SqlParameter();
            id.SqlDbType = SqlDbType.UniqueIdentifier;
            id.ParameterName = "@idutente";
            id.Value = utente.Id;
            insert.Parameters.Add(id);

            SqlParameter lettura = new SqlParameter();
            lettura.SqlDbType = SqlDbType.Bit;
            lettura.ParameterName = "@lettura";
            lettura.Value = utente.Permesso.Lettura;
            insert.Parameters.Add(lettura);

            SqlParameter scrittura = new SqlParameter();
            scrittura.SqlDbType = SqlDbType.Bit;
            scrittura.ParameterName = "@scrittura";
            scrittura.Value = utente.Permesso.Scrittura;
            insert.Parameters.Add(scrittura);

            SqlParameter modifica = new SqlParameter();
            modifica.SqlDbType = SqlDbType.Bit;
            modifica.ParameterName = "@modifica";
            modifica.Value = utente.Permesso.Modifica;
            insert.Parameters.Add(modifica);

            return insert.ExecuteNonQuery();
        }
    }
}